package siestageek;

public class J11Exception {
	// 예외처리
	public static void main(String[] args) {
		//System.out.println( "이글이 보이나요!" );
		//System.out.println( 100 / 0 ); // 오류!
		//System.out.println( "이글도 보이나요!" );
		
		//int i[] = new int[10];
		//for(int j = 1; j <= 10; ++j) {
			//System.out.println( i[j] );	// 오류!
		//}
		
		System.out.println( "이글이 보이나요!" );
		try {
			System.out.println( 100 / 0 );
		} catch (ArithmeticException ae) {
			ae.printStackTrace();
			System.out.println( "0으로 나누면 안되요!" );
		}
		System.out.println( "이글도 보이나요!" );
		
		int i[] = new int[10];
		for(int j = 1; j <= 10; ++j) {
			try {
				System.out.println( i[j] );
			} catch( ArrayIndexOutOfBoundsException aiob) {
				System.out.println( "배열 인덱스 초과!" );
			}
		}
		
		// 다중 catch 문 사용
		try {
			System.out.println( 100 / 0 );
			System.out.println( i[100] );
		} catch ( ArithmeticException ae ) {
			System.out.println( "0으로 나누면 떼찌!" );
		} catch ( ArrayIndexOutOfBoundsException aiob ) {
			System.out.println( "배열 인덱스 촉화!" );
		}
		
		// 모든 예외의 조상 - Exception
		try {
			System.out.println( "시 - 작" );
			System.out.println( 100 / 0 );
			System.out.println( i[500] );
			System.out.println( "끄 - 읏" );
		} catch ( Exception ex ) {
			ex.printStackTrace();  // 오류 상세정보 출력
			System.out.println( "치명적인 오류?가 발생" );
		}
		
	}
	
	
	
}




